home
***
CD-ROM
|
disk
|
FTP
|
other
***
search
/
Atari Mega Archive 1
/
Atari Mega Archive - Volume 1.iso
/
language
/
iconv8_e.arc
/
DOCS.ARC
/
ASH076.DOC
< prev
next >
Wrap
Text File
|
1989-03-07
|
5KB
|
133 lines
- 1 -
ASH V0.76
Copyright (c) 1986,1987 CSL/jdn
This is an ADDENDUM to the ASH V0.70 Document (ash.doc).
ASH Version 0.76 is a minor update. It's not big enough to warrant a new
version of the ASH document but there are several significant changes that
have to be explained and this document does that.
There are two new built-in commands included in V0.76. The history buffer
size is now user definable. There is now an ASH history file that is read
in when ASH is invoked interactively and written back when ASH exits. The
^V character has changed slightly in it's use and the ^B character now has
meaning. The UP ARROW key is now active for previous command retrieval
without hitting the escape key. Finally, the environment (set variables)
is now passed in a manner that will allow programs written to Atari's
specifications for environment passing to get at them.
Another change that doesn't require any documenting is an improved
readline() function that speeds up the find command and other commands that
call readline() by a factor of about six.
cmp file1 file2
The cmp command takes two arguments as file names and compares the
them line by line. If it finds lines that differ it exits with the
line number and each of the lines. If one of the files is shorter
than the other that fact and the line number after which the file
ended is reported. If there are no differences in the files that's
reported too. ASCII files are strongly recommended.
where cmd [cmd ...]
The where command takes commands as you would type them into ASH as
arguments and looks for the arguments using the same search method as
if it were trying to invoke them. No arguments should be include for
the commands given as arguments to where. Built-in commands are
indicated as functions by following them with parentheses. For other
commands the complete file name, including extension, and the path
where they were located is printed.
The ASH command history buffer can now retain as many command lines as you
want. The default size is 23 commands. To change the default you define
the set variable HISTSIZE to the number of history commands you would like.
This must be done in your ASH initialization file 'ash.ini'. The size of
the history buffer is ONLY settable during initialization. You can
redefine the HISTSIZE set variable after initialization but it will not
effect the size of the history buffer. When listing the history buffer
commands with the ^L, normal ASH pagination will keep the listing from
getting away from you.
- 2 -
The file 'ash.hst' will be looked for in the same manner that the help file
(ash.hlp) and the initialization file (ash.ini) are looked for during ASH
initialization. If it's found the commands in the file will be read in and
added to the current command history buffer. When ASH exits, the current
command history buffer will be written back over the same file. If you
want to create a file of commands to be added to the history, but you don't
want them to be over written, you can change the history file attributes to
READ ONLY with the attr command.
The UP ARROW key is now active for history buffer command retrieval even
before you hit the escape key. Now you can immediately start going back
through previous commands with the UP ARROW. Keep in mind that once you
start browsing through history commands you are in history edit mode.
Pressing the UP ARROW is equivalent to pressing the ESC and then the UP
ARROW.
^V The ^V character now toggles the cursor back and forth between
visible and invisible instead of always trying to turn the cursor
on.
^B The ^B character toggles back and forth between a blinking and
non-blinking cursor.
In addition to being able to toggle the cursor attributes the program now
remembers what the cursor was like before executing an external program and
resets it on exit. For example, this will make your cursor reappear after
exiting MicroEMACS.
Finally, the environment is now passed to external commands as a string of
the form:
var=val\0var=val\0var=val\0...var=val\0\0
Each variable and value is NULL terminated and the entire list is NULL
terminated as well. This is the way Atari recommended and the way that
several shells (MWC, Micro C shell) do it now. I'll provide the code for a
getenv() function you can use in external programs on request.